import java.util.Arrays;

public class Leet91 {
    public static void main(String[] args) {
        Leet91 l = new Leet91();
        System.out.println(l.numDecodings("1201234"));
    }
    public int numDecodings(String s) {
        int[] dp = new int[s.length()];
        char[] chs = s.toCharArray();
        if (s.charAt(0)=='0')
            return 0;
        if (s.length()==1)
            return 1;
        dp[0] = 1;

        return dp[s.length()-1];
    }

//            if (s.length()==2)
//            if (s.charAt(1)!='0'&&Integer.parseInt(s.substring(0,2))<=26)
//                dp[1] = 2;
//            else
//                dp[1] = 1;
//        else if (s.charAt(2)!='0'&&s.charAt(1)!=0&&Integer.parseInt(s.substring(0,2))<=26)
//            dp[1] = 2;
//        else
//            dp[1] = 1;
//        for (int i = 2; i < s.length(); i++) {
//            if (s.charAt(i)!='0'&&s.charAt(i-1)!='0'&&(s.charAt(i-2)<='1'||(s.charAt(i-2)=='2'&&s.charAt(i-1)<='6')))
//                dp[i]=dp[i-2]+dp[i-1];
//            else if(s.charAt(i-1)!='0')
//                dp[i] = dp[i-1];
//            else if (Integer.parseInt(s.substring(i-2,i))<=26)
//                dp[i] = dp[i-1];
//        }
//        System.out.println(Arrays.toString(dp));
//        if (s.charAt(s.length()-2)=='0')
//            return dp[s.length()-2];



//    void dfs(String s,int at){
//        if (at>=s.length()){
//            num++;
//            return;
//        }
//        if (s.charAt(at)=='0')
//            return;
//            dfs(s,at+1);
//        if (at<s.length()-1&&(s.charAt(at)<='1'||(s.charAt(at)==2&&s.charAt(at+1)<='6')))
//            dfs(s,at+2);
//    }
}
